﻿begin;

truncate aluno_reg_fks;

INSERT INTO aluno_reg_fks
	(
            id_unidade
            , id_curso
            , id_serie
            , id_turma
            , id_aluno_turma
            , id_aluno
        )
	select distinct 
			u.id id_unidade
			, c.id id_curso
			, s.id id_serie
			, t.id id_turma
			, at.id id_aluno_turma
			, a.id id_aluno
		from unidade u
		inner join curso c
			on c.h_cod_unidade = u.h_codigo
		inner join serie s
			on s.cod_curso = c.codigo
				and s.h_cod_unidade = c.h_cod_unidade
				and s.ano_sem = c.ano_sem
		inner join turma t
			on t.cod_serie = s.codigo
				and t.ano_sem = s.ano_sem
				and t.cod_curso = s.cod_curso
				and t.h_cod_unidade = s.h_cod_unidade
		inner join aluno_turma at
			on at.cod_turma = t.codigo
				and at.cod_serie = t.cod_serie
				and at.ano_sem = t.ano_sem
				and at.cod_curso = t.cod_curso
				and at.h_cod_unidade = t.h_cod_unidade
		inner join aluno a
			on a.h_codigo = at.h_cod_aluno;

commit;